iT邦幫忙

2021 iThome 鐵人賽

DAY 25
0
AI & Data

建立FF14資訊Discord chatbot系列 第 25

[DAY 25]建立bot抽籤功能

  • 分享至 

  • xImage
  •  

這次開發一個之後活動可能會用到的功能叫抽籤

只要輸入/draw就隨機抽一位公會在線上的成員

希望有了這個功能後公會能多半抽獎活動(無誤)

程式碼如下:

from discord.ext import commands
from core.classes import Cog_Extension
from random import choice

class draw(Cog_Extension):
    @commands.command()
    
    async def draw(self,ctx):
        member_list = []
        guild = self.bot.get_guild(int(self.GUILDID_TOKEN))
        # print(guild.members)
        for user in guild.members:
            
            if str(user.status) != "offline":
                # print(user)
                member_list.append(f"<@{user.id}>")
        await ctx.message.reply(choice(member_list))
def setup(bot):
    bot.add_cog(draw(bot))

這邊需要注意的點是要記得把Intents的設定開啟,不開的話成員都會顯示offline,寫法如下:

intents = discord.Intents.all()
intents.members = True
bot = commands.Bot(command_prefix='/',intents =intents)

呈現畫面:

雖然他們應用方法跟我想的好像不太一樣

但是他們玩得開心我就沒多說什麼了(?)


上一篇
[DAY 24]Embed功能
下一篇
[DAY 26]隨機組隊功能
系列文
建立FF14資訊Discord chatbot30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
skyhong2002
iT邦新手 3 級 ‧ 2021-10-10 19:38:04

身為 FFXIV 新手玩家好想加入ㄚㄚㄚ><

Joe iT邦新手 5 級 ‧ 2021-10-13 06:27:36 檢舉

你是在gungnir嗎~

我要留言

立即登入留言